// PartSortPropertyManager.h: interface for the PartSortPropertyManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PARTSORTPROPERTYMANAGER_H__36B96089_D156_4B18_A7F1_2109A3864CA0__INCLUDED_)
#define AFX_PARTSORTPROPERTYMANAGER_H__36B96089_D156_4B18_A7F1_2109A3864CA0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "PSPQuery.h"
#include "PSPSortByStandard.h"
#include <Afxtempl.h>

class PartSortPropertyManager :public ManagerTemplate<CString, PSPSortByStandard>  
{
	friend class SortPropertyQueryManager;
private:
	PartSortPropertyManager();
public:
	void ReadPropertyByStandard(const CString& strStandard);
	void RemovePropertyByStandard(const CString& strStandard);
	void ReadAllProperty();
	void RemoveQueryObject(PSPQuery *pQuery);
	void RegisterQueryObject(PSPQuery *pQuery);
	virtual ~PartSortPropertyManager();
private:
	void RegisterToQuery(PSPSortByStandard * pStandard);
	void UnRegisterToQuery(PSPSortByStandard * pStandard);
private:
	CList <PSPQuery *,PSPQuery *> m_theQueryObjects;
};

#endif // !defined(AFX_PARTSORTPROPERTYMANAGER_H__36B96089_D156_4B18_A7F1_2109A3864CA0__INCLUDED_)
